Índice

  1. [[#Política de Contraseña mínimo 3 mayúsculas]]
  2. [[#Política de Contraseña 3 números y 2 intentos fallidos]]
  3. [[#SSH]]

Política de Contraseña: mínimo 3 mayúsculas

Aplicaremos una política que exija al menos 3 mayúsculas.
En Ubuntu deberiamos tener el archivo /etc/security/pwquality.conf

Si no lo tenemos, quiere decir que no estamos forzando ningún tipo de política, por lo tanto debemos instalar el módulo PAM (Pluggable Authentication Modules).

sudo apt-get update
sudo apt-get install libpam-pwquality

Antes

Despues

Los pasos son los siguientes:

  1. Abrir el archivo
    sudo nano /etc/security/pwquality.conf

  2. Agregar o editar una línea en específico
    ucredit=-3

    Con esto forzamos que sean al menos 3 mayúsculas

  3. Guardar y cerrar

  4. Probar:
    passwd <usuario>

    nota por si se me olvida: USUARIO123


Política de Contraseña: 3 números y 2 intentos fallidos

  1. Volvemos al mismo archivo:
    sudo nano /etc/security/pwquality.conf

  2. Agregamos o modificamos la línea
    dcredit = -3

  3. Con eso tenemos el requisito de 3 números.

Para los 2 intentos debemos ir a otro archivo:
/etc/pam.d/common-auth
y agregamos lo siguiente en versiones antiguas de Ubuntu:

auth required pam_tally2.so deny=2 unlock_time=10 onerr=fail

Importante: verificar qué versión estamos porque en posteriores a 20.04 se usa pam_faillock en vez de pam_tally2
Como es mi caso, usamos faillock así que lo agregamos de la siguiente forma:

  1. Verificamos:
    Contraseña con menos de 3 dígitos

Intentos fallidos

nota: usamos faillock para ver los intentos inválidos y validos registrados


SSH

Esto es una continuación básicamente de un Ejercicio de SSH que había realizado previamente así que se asume que el lector tiene acceso a él.

Debemos primero instalar el servidor SSH si no lo está:
sudo apt update && sudo apt install openssh-server -y
y verificamos con
sudo systemctl status ssh

Abrimos el archivo sudo nano /etc/ssh/sshd_config y cambiamos la línea del puerto:

Ahora: podemos realizar verificaciones de varias formas pero la más común es:
sudo netstat -tulnp | grep ":44"

En mi caso no funciona porque netstat fue reemplazado con sudo ss -tulnp | grep ":44"

Sin embargo... dada las configuraciones realizadas en el ejercicio de Hardening previo, sólo se aceptan conexiones SSH si es que entran por un puerto específico (el 22). Obviamente tenemos un conflicto porque SSH está ahora en el :44. Esto nos lleva a mi conclusión previa sobre las configuraciones causando conflicto entre ellas, por lo cual es importante llevar documentación acorde (como esta).

La verdad es que no lo voy a cambiar en este momento, pero a modo gráfico con este pantallazo vemos que la configuración está hecha y activa en el puerto 44: